package com.xjy.system.domain.bo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xjy.common.core.domain.BaseEntity;

/**
 * 资金账户变更明细信息分页查询对象 sys_fundaccountdetail
 *
 * @author xjy
 * @date 2022-03-10
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("资金账户变更明细信息分页查询对象")
public class SysFundaccountdetailQueryBo extends BaseEntity {

	/** 分页大小 */
	@ApiModelProperty("分页大小")
	private Integer pageSize;
	/** 当前页数 */
	@ApiModelProperty("当前页数")
	private Integer pageNum;
	/** 排序列 */
	@ApiModelProperty("排序列")
	private String orderByColumn;
	/** 排序的方向desc或者asc */
	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
	private String isAsc;

	@ApiModelProperty("ID")
	private Long id;
	/** 关联项目 */
	@ApiModelProperty("关联项目")
	private Long projId;
	/** 关联合同，可能为空 */
	@ApiModelProperty("关联合同，可能为空")
	private Long contractId;
	/** 项目名称 */
	@ApiModelProperty("项目名称")
	private String projName;
	/** 关联合同结算项目，可能为空 */
	@ApiModelProperty("关联合同结算项目，可能为空")
	private Long settleProj;
	/** 合同名称 */
	@ApiModelProperty("合同名称")
	private String contractName;
	/** 关联预算科目，可能为空 */
	@ApiModelProperty("关联预算科目，可能为空")
	private Long subjectId;
	/** 账户ID */
	@ApiModelProperty("账户ID")
	private Long accId;
	/** 资金变更流水号 */
	@ApiModelProperty("资金变更流水号")
	private String transactionId;
	/** 结算项目名称 */
	@ApiModelProperty("结算项目名称")
	private String settleProjName;
	/** 交易发出方 */
	@ApiModelProperty("交易发出方")
	private String sender;
	/** 交易发出方ID */
	@ApiModelProperty("交易发出方ID")
	private Long senderId;
	/** 科目名称 */
	@ApiModelProperty("科目名称")
	private String subjectName;
	/** 交易接收方 */
	@ApiModelProperty("交易接收方")
	private String receive;
	/** 账户名称 */
	@ApiModelProperty("账户名称")
	private String accountName;
	/** 交易接收方ID */
	@ApiModelProperty("交易接收方ID")
	private Long receiveId;
	/** 账户开户行 */
	@ApiModelProperty("账户开户行")
	private String accountBank;
	/** 经办人 */
	@ApiModelProperty("经办人")
	private String manager;
	/** 账户号码 */
	@ApiModelProperty("账户号码")
	private String accountNo;
	/** 经办人ID */
	@ApiModelProperty("经办人ID")
	private Long managerId;
	/** 0：收入(+)，1：支出(-) */
	@ApiModelProperty("0：收入(+)，1：支出(-)")
	private Long category;
	/** 账户交易日期 */
	@ApiModelProperty("账户交易日期")
	private Date transactionDate;
	@ApiModelProperty("账户交易前金额")
	private BigDecimal beiginbalance;

	@ApiModelProperty("账户交易发生金额")
	private BigDecimal amount;

	@ApiModelProperty("账户交易后余额")
	private BigDecimal endbalance;
	/** 备注 */
	@ApiModelProperty("备注")
	private String remarks;
	/** 交易类型：0：现金，1：银行 */
	@ApiModelProperty("交易类型：0：现金，1：银行")
	private Integer transactionType;
	/** 交易类型 0：收取押金、1：支付押金、2：预付账款、3：个人借款、4：支付报销、5：冲销借款，6：冲销预付，7：账户收款、8：其它 */
	@ApiModelProperty("交易类型 0：收取押金、1：支付押金、2：预付账款、3：个人借款、4：支付报销、5：冲销借款，6：冲销预付，7：账户收款、8：其它")
	private Long transactionCategory;
	/** 审核状态 0：未审核；1：审核（默认） */
	@ApiModelProperty("审核状态 0：未审核；1：审核（默认）")
	private Boolean auditStatus;

}
